1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for identifying clients in a distributed data processing system. Still more particularly, the present invention provides a method and apparatus for identifying clients in a distributed data processing system using a combination of client-specified identifying data.
2. Description of Related Art
A dynamic host configuration protocol (DHCP) server provides the ability for a network administrator to centralize the configuration of internet protocol (IP) addresses and operating parameters for all capable network-attached devices. Through this protocol and the structure of a DHCP message, a DHCP client is able to receive an IP address to be assigned to the interface through which the client was communicating with the DHCP server. Additionally, this client may also receive a list of operating parameters specified by the server to be used by the client. Additionally, when communicating with the server, clients may specify suggested operating values and other defining parameters to uniquely identify itself and/or to classify itself as a member of a set of clients sharing some common type. Under the protocol, with the exception of the assignment of the IP address, all information that is exchanged between a client and a server is performed through what is known as xe2x80x9cOptionsxe2x80x9d. These options are small sections of data in the DHCP message used to specify the type of option and its data.
A DHCP server typically identifies one of the client computers that it services through the client identifier option, which is most often a hardware address of the client adapter wishing to receive an interface address or a unique string as defined by the client user. In addition, most DHCP servers will allow for the configuration specialization of a serviced client by defining a particular set of operating parameters to be given to a specific client by singling out that client""s unique identifier in the server""s configuration. Presently, Advanced Interactive Executive (AIX) servers, available from International Business Machines Corporation, have extended this configuration specialization to include two more identifying characteristics of any client. These characteristics include the vendor class identifier option and the user sit class identifier option. xe2x80x9cAIXxe2x80x9d is a version of the Unix system provided by International Business Machines Corporation for its Unix workstations and personal computers.
For example, a Hewlett-Packard printer acting as a DHCP client, may identify itself uniquely through its hardware address in the client identifier option, and will identify itself as a member of the Hewlett-Packard printer family through its vendor class identifier option. Based on this information and the server""s configuration, the server can offer specialized operating parameters based on each identifying characteristic. Therefore, the client""s IP address is chosen based on the client""s unique identifier option, and as an operating parameter, the IP address of the Syslog server is sent to the client because of the client""s vendor class identifier option. A Syslog server is a system which provides a network service to centralize the logging of informational or error messages.
Presently, however, an inability exists for clients to provide specific information to a server other than through vendor class information, user site class information, and a unique client identifier. As a result, configuration information must be returned for a particular client or for an entire family. Additional granularity is unavailable in presently used systems.
Therefore, it would be advantageous to have an improved method and apparatus for allowing identification and configuration of clients by different combinations of incoming option data.
The present invention provides a method and apparatus in a distributed data processing system for selecting configuration information for a client in the distributed data processing system. A request is received at a server from the client for configuration information. A subnet for the client is identified using the configuration information. Multiple identification tokens are identified from the request. A plurality of containers in a hierarchical structure is traversed using the subnet and identification tokens to identify and order by preference selected containers within the plurality of containers matching the subnet and the identification tokens. Configuration information is obtained from selected containers within the plurality of containers based on containers to form selected configuration information. The selected configuration information is sent to the client.